home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / misc / qemtec.arj / EX13FLOW.TEC < prev    next >
Text File  |  1994-01-12  |  48KB  |  976 lines

  1. ID:EF Exception #13 Advanced Troubleshooting
  2. Quarterdeck Technical Note #232                       Filename: EX13FLOW.TEC
  3. by David Riess                                      CompuServe: EX13FL.ZIP
  4. Last revised:  6/15/92                                Category: QEMM
  5.  
  6. Subject: A step-by-step, flowchart-like procedure for determining the solution
  7.          to problems that result in QEMM-386's Exception #12 or Exception #13
  8.          reports.  See also EXCEPT13.TEC.
  9.  
  10.  
  11.      YES, this document IS long!  PLEASE, Do not be intimidated by the
  12. length of this document as you will only need a small part of its contents.
  13. ---------------------------------------------------------------------------
  14.      Exception errors are unusual or invalid conditions associated with the 
  15. execution of a particular instruction by the 80386 processor (or higher, such 
  16. as the 80486 processor).  The 80386 recognizes 16 different classes of 
  17. exceptions.  Quarterdeck's expanded memory manager, QEMM-386, has been 
  18. designed to capture these 80386 exception errors and display them directly to 
  19. the user.  This is a basic feature of all 386 memory managers; MS-DOS and PC-
  20. DOS alone do not have this capability.
  21.      Exception #13 is the "General Protection Fault" error; usually, your 
  22. machine has crashed as a result of whatever caused it.  Any privileged 
  23. instruction or an instruction that references memory at an invalid address can 
  24. trigger an Exception #13.  It is the most commonly encountered 80386 error.
  25.  
  26.  There are two circumstances that can cause an Exception #13 to occur:
  27.  
  28.           In the first case, the Exception #13 indicates that a program has 
  29.      violated the protected mode of the 80386 by executing a privileged 
  30.      instruction or I/O reference.
  31.           The second case (most common to QEMM-386 users) involves 
  32.      instructions that reference memory addresses and may indicate that an 
  33.      application has a bug, or that adverse circumstances have sent the 
  34.      processor out of control:  it has overwritten its memory partition, and 
  35.      may in fact be running wild, executing meaningless code.
  36.  
  37.       Many people assume that QEMM-386 is causing the Exception #13 error to 
  38. occur on their machine.  However, the majority of these errors are due to the 
  39. complex combination of multiple TSRs, device drivers and program(s) currently 
  40. in memory trying to run in harmony with the expanded memory manager, the 
  41. version of DOS, the video card, hard-disk drive,...
  42.       QEMM-386 will attempt to report the error before your system crashes, 
  43. although it is often an error unrelated to the functioning of the memory 
  44. manager.  An Exception #13 does not neccesarily mean that QEMM-386 is at 
  45. fault, but the QEMM WILL report the error.
  46.  
  47. ---------------------------------------------------------------------------
  48.      This Quarterdeck Technical Note (technote) has been written to help YOU 
  49. troubleshoot and fix most Exception #13 problems.  We have included an example 
  50. scenario for YOU to follow in order to make this Technote as "User Friendly" 
  51. as possible.
  52.      At a minimum, this Exception #13 troubleshooting procedure will take 2 
  53. steps to complete and you will have to skip ahead to different parts of this 
  54. Technote depending on the results of previous steps, so PLEASE FOLLOW ALL 
  55. INSTRUCTIONS CAREFULLY.
  56.  
  57.      The Quarterdeck Technical Support Staff handle many Exception #13 calls 
  58. every day ranging from the simple (e.g., "Every time I load my CD-ROM, when I 
  59. access the disk I get an 'QEMM: Exception #13 error at C800:3D5F'") to the 
  60. difficult (e.g., "I'm running my database program off the network and the 
  61. program works fine, but when I exit the database program and go into my 
  62. spreadsheet program, if I print from the spreadsheet program, I get an 
  63. Exception #13 error.  This happens randomly, usually once every 3 days.")
  64.  
  65. This Technote follows the same EXACT procedures which our technical support 
  66. staff uses to troubleshoot Exception #13 problems with QEMM-386.
  67.  
  68.      EXAMPLE Exception #13 PROBLEM SCENARIO:  "I've installed QEMM-386 and 
  69. have run the OPTIMIZE program to load my TSRs and device drivers into High 
  70. RAM.  I'm running a scanner program from my network drive (drive F:).  I get 
  71. into the scanner program without a problem, except every time when I start 
  72. scanning I get an 'Exception #13' error and my system crashes."
  73.  
  74.      SCENARIO ASSUMPTIONS:  QEMM-386 has been loaded onto the local C: drive 
  75. and QEMM-386 is installed in the C:\QEMM subdirectory.
  76.      
  77.      INSTRUCTIONS:  Some of the following steps will have you either edit a 
  78. file or run a program from the DOS prompt.  Whenever you see a number followed 
  79. by a right parenthesis, ) , perform the action which follows.  Comments 
  80. regarding the action will be followed in brackets, [].
  81.  
  82.                                   (STEP 1)
  83.  
  84.            TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
  85.            -------------------------------------------------------
  86.      QEMM-386 will report an Exception #13 error message whether QEMM-386 is 
  87. responsible for the problem or not!  We will need to reboot your system 
  88. WITHOUT QEMM-386 and try to re-create the problem to determine if QEMM-386 is 
  89. involved with the Exception #13 error.
  90.      If QEMM-386 is NOT loaded on your system and the software STILL has 
  91. problems, then QEMM-386 is not involved with the error and you will need to 
  92. consult the documentation or contact the makers of the software that is making 
  93. your system crash.
  94.  
  95. ??? Does your program need expanded memory in order to operate properly?
  96.     If so, please go to STEP 2 (otherwise proceed with this STEP).
  97.     Proceed with this step if you are uncertain if your program uses
  98.     expanded memory.
  99.  
  100.      We will need to re-boot your computer without QEMM-386 loaded.  To 
  101. accomplish this, we DO NOT have to modify any of your startup files 
  102. (CONFIG.SYS or AUTOEXEC.BAT files)!
  103.  
  104.      1) Please re-boot your machine.  During the re-boot, your computer will 
  105. BEEP.  When you hear the BEEP, immediately hold down on the ALT key (and keep 
  106. it pressed down) until you see the following message on screen:
  107.  
  108.         QEMM386: Press <ESC> to unload QEMM or any other key
  109.         to continue with QEMM...
  110.  
  111. If you do not see this message, please retry again by rebooting your machine! 
  112. Press the ESCAPE (ESC) key to bypass QEMM and try to re-create the Exception 
  113. #13 problem.
  114.  
  115. ??? If you do not have enough memory to run your program, go to STEP 2.
  116.  
  117. ??? If the problem still exists, go to STEP B.
  118.  
  119. ??? If the problem goes away, go to STEP 2.
  120.  
  121.                                   (STEP 2)
  122.  
  123.               QUICK-FIX TROUBLESHOOTING PARAMETERS FOR QEMM-386
  124.               -------------------------------------------------
  125.      This second step is intended for the advanced QEMM-386 user who is 
  126. familiar and comfortable with editing and adding parameters to the QEMM386.SYS 
  127. line of the CONFIG.SYS file.  If you are not familiar with this process, DON'T 
  128. WORRY!  Skip ahead to STEP 3 now, where you will be given examples about how 
  129. to edit and add parameters to QEMM.
  130.      If the following 2 scenarios do not apply to your Exception #13 problem 
  131. or do not help RESOLVE the problem, then please go to STEP 3 (the next step) 
  132. and remove the parameters specified below (depending on the scenario).
  133.      Scenario #1:  When your machine crashes, do you notice that the video 
  134. text or graphics is altered (blank screen, part of the screen is altered, 
  135. strange lines displayed across the screen, color changes, video-mode switching 
  136. problems)?  Add the following parameters to the end of the QEMM386.SYS line of 
  137. the CONFIG.SYS file:
  138.  
  139.      X=A000-C7FF  NV  NVR
  140.  
  141.      Scenario #2:  When your machine crashes, do you notice that the hard disk 
  142. (or floppy disk or CD-ROM) is being accessed?  Add the following parameters to 
  143. the end of the QEMM386.SYS line of the CONFIG.SYS file:
  144.  
  145.      X=F000-FFFF  X=C800-CFFF  DB=4  ROM
  146.  
  147. (IF you already had the ROM parameter at the end of the QEMM386.SYS line, then 
  148. DO NOT USE (remove) the ROM parameter from the QEMM386.SYS line.) If the 
  149. scenario #2 parameters help resolve your problem, try removing the X=C800-CFFF 
  150. parameter (however keep the other 3 parameters) .  If the problem now occurs, 
  151. then put back the X=C800-CFFF parameter.
  152.  
  153.      If the above parameters resolve your problem,  HAVE A GREAT DAY!
  154.  
  155.                                   (STEP 3)
  156.  
  157.                   DETERMINING THE FREQUENCY OF THE PROBLEM
  158.                   ----------------------------------------
  159.      Troubleshooting Exception #13 errors can be quite difficult if the 
  160. problem occurs infrequently, every once in a couple of days/weeks without 
  161. showing some kind of pattern that may be causing the problem.  In order to 
  162. troubleshoot ANY problem, you must be able to know how to reproduce the 
  163. problem on a frequent basis, and if you can't reproduce the error frequently, 
  164. then this technote will not be able to help you because:
  165.      
  166.      It's difficult to fix something, if you don't know that it's fixed when 
  167.      you fix it.
  168.      
  169.      If the Exception #13 error occurs every time you run a particular 
  170. application or you have been experiencing Exception #13 errors at least twice-
  171. a-day with a given application, then we can attempt to troubleshoot the 
  172. problem systematically.
  173.      If the problem occurs frequently, please go to STEP 4.
  174.      If the problem is not frequent, you must try to determine a pattern by 
  175. which you can re-create the error on a frequent basis and then proceed with 
  176. this technote! (If your car makes unusual noises every once in a while, you 
  177. can't expect your automobile mechanic to fix the problem if he can't re-create 
  178. the problem!)
  179.      PLEASE NOTE:  Crashes which occur infrequently are usually hardware 
  180. related problems.  These random crashes cannot be resolved by reconfiguring or 
  181. removing QEMM-386.
  182.  
  183.                                   (STEP 4)
  184.  
  185.                       DETERMINING YOUR QEMM-386 VERSION
  186.                       ---------------------------------
  187.      This step determines which version of QEMM-386 you have, and will direct 
  188. you to the troubleshooting technique needed for solving your Exception #13 
  189. problem based on your QEMM version.  Enter the following 3 commands at the DOS 
  190. prompt:
  191.      
  192.      1)  C:          [go to the QEMM disk-drive           ]
  193.      2)  CD\QEMM     [go to the QEMM subdirectory         ]
  194.      3)  QEMMREG     [Determine what QEMM version you have]
  195.  
  196. Here's an EXAMPLE of what you should see on your screen:
  197.  
  198.      Quarterdeck Expanded Memory Manager 386 V5.13    <----------|
  199.      Copyright (c) 1986-1991 by Quarterdeck Office Systems       |
  200.      Serial number: 000-B6-0000-000000                           |
  201.      Registered to: Power User                                   |
  202.      ABC COMPUTER USERS                                          |
  203.      Anywhere, CA  USA                                           |
  204.                                                                  |
  205. ??? What version of QEMM is installed on your machine: ----------|
  206.  
  207.         4.00 - 5.13
  208.         ---------------
  209.         go to STEP 6.
  210.  
  211.         6.00 or greater
  212.         ---------------
  213.         go to STEP 5.
  214.  
  215. ***
  216. If QEMMREG returns "Bad command or file name", then either you have a
  217. very old version of QEMM-386 (in which you should go to STEP 6) or you have 
  218. erased the file QEMMREG.COM from your QEMM directory (in which case you should 
  219. re-install QEMM-386 on your hard disk, then perform STEP 4 again). 
  220. ***
  221.  
  222.                                   (STEP 5)
  223.  
  224.      DETERMINING WHETHER STEALTH IS CAUSING A CONFLICT WITH YOUR SYSTEM
  225.      ------------------------------------------------------------------
  226.      You have QEMM version 6.00 or greater.  Quarterdeck has added the STEALTH 
  227. feature into your version of QEMM in order to create up to 83K more of High 
  228. RAM (up to 115K more on PS/2 machines) than versions before 6.00!  The Stealth 
  229. feature is invoked with the parameter ST:M or ST:F on the 
  230. "DEVICE=C:\QEMM\QEMM386.SYS ..." line of your CONFIG.SYS file (located in the 
  231. root directory of your bootup drive).
  232.      Your Exception #13 problem may be related to the Stealth feature of QEMM, 
  233. provided you have invoked Stealth.  We will check your CONFIG.SYS file for the 
  234. ST:x parameter to determine the next troubleshooting STEP for you to take.
  235.      With a file editor or file viewer, go to the C:\ directory (root 
  236. directory of your bootup drive) and load the CONFIG.SYS file.  Search the 
  237. DEVICE=C:\QEMM\QEMM386.SYS line for either ST:M or ST:F.
  238.  
  239. ??? If the QEMM386.SYS line DOES NOT have a ST:M or ST:F parameter (which 
  240.     means you are not using the Stealth feature of QEMM-386), then go to STEP 
  241.     6.
  242.  
  243.      We want to remove all Stealth-related parameters (ST:M, ST:F, XST=, 
  244. XSTI=, DBF=, FSTC, FRAME=) to test whether Stealth is involved with your 
  245. Exception #13 problem.  Here's an example of removing these parameters:
  246.  
  247. DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF ST:M XST=C000
  248.                                                    <---delete-->
  249. DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF
  250.  
  251.      Edit your CONFIG.SYS file and remove the Stealth-related parameter(s), 
  252. then re-boot your computer and try to re-create the Exception #13 error.
  253.  
  254. ??? If the problem still exists, please go to STEP 6.
  255.  
  256. ??? If the problem goes away, then your Exception #13 error is due to a 
  257.     conflict with QEMM's Stealth feature.  NOW, the next step for YOU is to 
  258.     leave this technical note and get the technote STEALTH.TEC, which covers 
  259.     how to correct problems which only occur with Stealth.  You no longer need 
  260.     this technote!
  261.  
  262. The STEALTH.TEC technote is available:
  263.  
  264. 1) On Compuserve [GO QUARTERDECK, Library 2].  Download STEALT.ZIP.
  265. 2) On the Quarterdeck BBS [310-314-3227].  Download STEALTH.TEC.
  266. 3) On the Quarterdeck Q/FAX [310-314-3214].  Download FAX# 205 (Q/FAX
  267.    will automatically fax this back to your fax machine instantly!).
  268. 4) Call Quarterdeck Technical Support [310-392-9701] and we will
  269.    gladly fax/mail it to you.
  270.  
  271.                                   (STEP 6)
  272.  
  273.          DETERMINING THE MEMORY LOCATION OF THE EXCEPTION #13 ERROR
  274.          ----------------------------------------------------------
  275.      The location of the memory address where the Exception #13 error occurred 
  276. may give us a clue as to what may be causing the problem.  We will locate the 
  277. memory address of the error and perform the next STEP based on this address.
  278.      The following is an example Exception #13 error message:
  279.  
  280.      QEMM: Exception #13 at C9F6:0173.       <---------------------
  281.      Error code: 0000                                             |
  282.      AX=240A BX=0000 CX=0000 DX=0000 SI=0000 DI=0000 BP=0001      |
  283.      DS=29F6 ES=29F6 SS=29F6 SP=D4F9 Flags=7202                   |
  284.      Instruction: 6F 72 20 72 65 61 64 69 6E 67 20 2E 53 59 4D    |
  285.      Do you want to (T)erminate the program, (R)eboot,            |
  286.      or disable QEMM and try to (C)ontinue?                       |
  287.                                                                   |
  288. We are only concerned with the first line, ------------------------
  289. to determine the address where your system crashed!
  290.  
  291.      The end of the line shows the memory address of the crash at XXXX:YYYY 
  292. (in our example C9F6:0173) where XXXX and YYYY are hexadecimal 
  293. (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) numbers.  We are only concerned with the 
  294. XXXX number (in our example C9F6).
  295.  
  296. ??? If the Hexadecimal number of XXXX is in the range from:
  297.  
  298.     0000 through 9999  (e.g. 29F6, 512E, 9FE0, 0C6A) go to STEP 8.
  299.     A000 through FFFE  (e.g. A890, B1EF, D800, EFFE) go to STEP 7.
  300.     FFFF               go to STEP 8.
  301.  
  302.                                   (STEP 7)
  303.  
  304.                          AVOIDING HIGH RAM CONFLICTS
  305.                          ---------------------------
  306.      Exception #13 errors that occur in the range from A000 up to FFFE are 
  307. located in the High RAM area (above 640K) and are usually caused by one of two 
  308. situations:
  309.  
  310.           The first situation occurs if you have a bus-mastering device 
  311.      (usually SCSI devices and CD-ROM's) which conflicts with High RAM.  Some of 
  312.      these devices have a special (VDS) driver supplied by the company that 
  313.      allows the device to avoid these problems (without having to modify your 
  314.      QEMM-386 settings to correct the problem!).
  315.  
  316.           The second situation is caused by a conflict between QEMM-386 and an 
  317.      adapter ROM (or RAM) which is situated in the same memory location.  For 
  318.      example:  If you have a network card that takes up 16K of memory and QEMM-
  319.      386 fails to detect the existence of your network card, then QEMM-386 
  320.      will create High RAM in the SAME memory location as your network card.  
  321.      If your software then tries to access the network card, the network 
  322.      ROM/RAM code will not be found (instead, your software will try to 
  323.      execute the contents of the High Ram area, which may have another program 
  324.      loaded High in that area) and usually your machine will crash.
  325.  
  326.      We will add the following 2 parameters to the end of the QEMM386.SYS line 
  327. of your CONFIG.SYS file to help BOTH possible situations:
  328.      
  329.      The first parameter is 'DB=4' to avoid bus-mastering problems.
  330.      
  331.      The second parameter is either:
  332.  
  333.      'X=A000-AFFF' if the error occurs in the range of A000-AFFF or
  334.      'X=B000-BFFF' if the error occurs in the range of B000-BFFF or
  335.      'X=C000-CFFF' if the error occurs in the range of C000-CFFF or
  336.      'X=D000-DFFF' if the error occurs in the range of D000-DFFF or
  337.      'X=E000-EFFF' if the error occurs in the range of E000-EFFF or
  338.      'X=F000-FFFF' if the error occurs in the range of F000-FFFF
  339.  
  340.      Here is an EXAMPLE of what your QEMM line in the CONFIG.SYS file looks 
  341. like:
  342.  
  343.      DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  344.  
  345.      If we use the EXAMPLE Exception #13 memory address from the last STEP, 
  346. (at C9F6), then adding the 2 parameters will make the QEMM line look like: 
  347.  
  348. DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF DB=4 X=C000-CFFF
  349.  
  350.      Save the CONFIG.SYS file.
  351.      Now reboot your machine and try to re-create the Exception #13 problem.
  352.  
  353. ??? If the problem still exists, go to STEP 8.
  354.  
  355. ??? If the problem goes away, then we know there was a memory conflict and we 
  356.     should try to narrow down which address range in High RAM has been causing 
  357.     the conflict.  This will allow you to get back as much High RAM as 
  358.     possible!  Try removing the DB=4 parameter from the QEMM386.SYS line.  If 
  359.     your machine crashes, then obviously you need this parameter.  If your 
  360.     machine crashes, you may wish to inquire about a VDS driver which is 
  361.     provided by the manufacturers of such boards.  For a detailed description 
  362.     of VDS drivers and bus-mastering devices, you may want to obtain the BUS-
  363.     MAST.TEC technote.  The BUS-MAST.TEC technote is available:
  364.  
  365. 1) On Compuserve [GO QUARTERDECK, Library 2].  Download BUSMAS.ZIP.
  366. 2) On the Quarterdeck BBS [310-314-3227].  Download BUS-MAST.TEC.
  367. 3) On the Quarterdeck Q/FAX [310-314-3214].  Download FAX# 121 (Q/FAX will
  368.    automatically fax this back to your fax machine instantly!).
  369. 4) Call Quarterdeck Technical Support [310-392-9701] and we will gladly
  370.    fax/mail it to you.
  371.  
  372.      Try removing the X=C000-CFFF parameter (remember, the 'C' is an example! 
  373. You may be using 'A','B','D','E', or 'F' instead) from the QEMM386.SYS line.  
  374. If your machine crashes, then obviously you need this parameter.
  375.      If you DO need X=C000-CFFF (excluding a 64K area), then we should try to 
  376. narrow down the exclusion area in order to create more High RAM. 
  377.      The most accurate way to determine which area(s) should be eXcluded is to 
  378. run QEMM's Analysis procedure which is described in detail in your QEMM-386 
  379. manual (in the "The QEMM.COM program" section, look for the page header 
  380. "Analysis Procedure").  This method will have you strip all parameters off the 
  381. QEMM386.SYS line of your CONFIG.SYS file except for "ON MAPS=0".  After re-
  382. booting and running the program that has been giving you trouble, you will run 
  383. "QEMM ANALYSIS" at the DOS prompt to determine the exact area(s) you must 
  384. exclude.  HAVE A GREAT DAY!
  385.      For a detailed description of the ANALYSIS procedure, you may want to 
  386. obtain the EXCLUDE.TEC technote.  The EXCLUDE.TEC technote is available:
  387.  
  388. 1) On Compuserve [GO QUARTERDECK, Library 2].  Download EXCLUD.ZIP.
  389. 2) On the Quarterdeck BBS [310-314-3227].  Download EXCLUDE.TEC.
  390. 3) On the Quarterdeck Q/FAX [310-314-3214].  Download FAX# 219 (Q/FAX
  391.    will automatically fax this back to your fax machine instantly!).
  392. 4) Call Quarterdeck Technical Support [310-392-9701] and we will
  393.    gladly fax/mail it to you.
  394.  
  395. ***** If you do not have access to your QEMM-386 manual or EXCLUDE.TEC (and 
  396. cannot follow QEMM's Analysis procedure) then try the following 2 parameters, 
  397. one-at-a-time, instead of X=C000-CFFF on the QEMM386.SYS line:
  398.  
  399.    X=C000-C7FF
  400.    X=C800-CFFF
  401.  
  402.      If one of these parameters work properly, then you will want to use that 
  403. parameter (instead of X=C000-CFFF).  If both of these parameters still cause a 
  404. crash, then just use X=C000-CFFF.  HAVE A GREAT DAY!
  405.  
  406.                                   (STEP 8)
  407.  
  408.                      CREATE A CLEAN ENVIRONMENT FOR QEMM
  409.                      -----------------------------------
  410.      To determine whether the problem is caused by QEMM-386, we must create a 
  411. clean environment for QEMM-386 that requires removing ALL lines from the 
  412. CONFIG.SYS and AUTOEXEC.BAT files which do not directly affect the program 
  413. that is getting the Exception #13 error.
  414.      First, you need to make back-up copies of your CONFIG.SYS and 
  415. AUTOEXEC.BAT files (which are located in the root directory) because we are 
  416. going to modify these files.  To make the back-up copies of these files 
  417. perform the following 4 commands at the DOS prompt:
  418.  
  419.      1) C:
  420.      2) CD\
  421.      3) COPY CONFIG.SYS CONFIG.OLD
  422.      4) COPY AUTOEXEC.BAT AUTOEXEC.OLD
  423.  
  424.      Now, edit your CONFIG.SYS file so that only the lines that are ABSOLUTELY 
  425. necessary to re-create the Exception #13 error remain in the CONFIG.SYS file.  
  426. You need the QEMM386.SYS line and the FILES= line as a minimum, delete every 
  427. other line unless it is ABSOLUTELY needed to re-create the problem.
  428.  
  429.      The following is an example CONFIG.SYS file for our example:
  430.  
  431.      #1   DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  432.       2   DEVICE=C:\UTIL\CACHE.SYS
  433.      #3   FILES=25
  434.       4   BUFFERS=30
  435.      #5   DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  436.       6   DEVICE=C:\DOS\ANSI.SYS
  437.       7   DEVICE=C:\FAXING\FAX.SYS
  438.      #8   SHELL=C:\COMMAND.COM /P /E:768
  439.      #9   DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
  440.       10  STACKS=0,0
  441.  
  442. The # indicates lines which are ABSOLUTELY necessary to include in the 
  443. CONFIG.SYS file in order to re-create the example problem.  Let's take a look 
  444. at why (you may want to look at the Exception #13 example problem scenario 
  445. located on the first page of this Technote, again!):
  446.  
  447.      line  1) We NEED the QEMM driver to re-create the problem.
  448.      line  2) A disk cache IS NOT necessary to re-create the problem.
  449.      line  3) We NEED to include the FILES= statement.
  450.      line  4) The BUFFERS statement IS NOT needed.
  451.      line  5) The scanner IS part of our problem.
  452.      line  6) ANSI.SYS IS NOT needed to re-create the problem.
  453.      line  7) The fax board has NOTHING to do with the problem.
  454.      line  8) The SHELL= statement tells DOS where the command processor is.
  455.      line  9) We NEED to log on to the network to run the scanner program.
  456.      line 10) The Stacks statement IS NOT necessary.
  457.  
  458. (if you are not sure if a line is absolutely necessary in your CONFIG.SYS or 
  459. AUTOEXEC.BAT files, you might try deleting it!)
  460.      This leaves our CONFIG.SYS with:
  461.  
  462.           DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  463.           FILES=25
  464.           DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  465.           SHELL=C:\COMMAND.COM /P /E:768
  466.           DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
  467.  
  468.      Now, since the OPTIMIZE program was executed, some of the device drivers 
  469. have been loaded high, and we have to make sure these drivers are loaded low.  
  470. This is because some device drivers behave incorrectly when loaded high, which 
  471. the LOADHI program is not able to detect in advance!
  472.  
  473.      DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  474.             <------delete--------->
  475.      DEVICE=C:\SCAN\SCANNER.SYS 256
  476.  
  477.      This leaves our CONFIG.SYS with:
  478.  
  479.           DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  480.           FILES=25
  481.           DEVICE=C:\SCAN\SCANNER.SYS 256
  482.           SHELL=C:\COMMAND.COM /P /E:768
  483.           DEVICE=C:\NETW\NETWORK.SYS
  484.  
  485. and boost the FILES= to at least 40.
  486.  
  487.      The final CONFIG.SYS looks like:
  488.  
  489.           DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  490.           FILES=40
  491.           DEVICE=C:\SCAN\SCANNER.SYS 256
  492.           SHELL=C:\COMMAND.COM /P /E:768
  493.           DEVICE=C:\NETW\NETWORK.SYS
  494.  
  495.      (Your CONFIG.SYS may only need the QEMM386.SYS and FILES=40 line.  Don't 
  496. worry if your CONFIG.SYS isn't 5 lines long.)
  497.      Save the CONFIG.SYS and let's modify your AUTOEXEC.BAT file.  The only 
  498. lines which we need to keep are the PROMPT and PATH statements.
  499.      The following is an example AUTOEXEC.BAT file for our example:
  500.  
  501.      1   ECHO OFF
  502.     #2   PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  503.      3   C:\QEMM\LOADHI C:\UTIL\FASTKEYB
  504.     #4   PROMPT $P$G
  505.     #5   C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  506.      6   SET TEMP=F:\WINDOWS\TEMP
  507.      7   FAXSETUP 125
  508.  
  509.      The # indicates lines which are absolutely necessary to re-create the 
  510. problem.  Here's why:
  511.  
  512.      Line 1) The ECHO statement IS NOT necessary.     
  513.      Line 2) We NEED the PATH statement.
  514.      Line 3) Keyboard accelerator IS NOT needed.
  515.      Line 4) Prompt statement is for your convenience.
  516.      Line 5) We NEED to access the network.
  517.      Line 6) This SET statement IS NOT necessary.
  518.      Line 7) The FAX board has NOTHING to do with our problem.
  519.  
  520.      This leaves our AUTOEXEC.BAT as:
  521.  
  522.           PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  523.           PROMPT $P$G
  524.           C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  525.  
  526.      Now, since we have run the OPTIMIZE program, some of our device drivers 
  527. have been loaded high and we have to make sure these drivers are loaded low.  
  528. All we have to do is remove the LOADHI from these lines.
  529.  
  530.      C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  531.      <----delete------->
  532.  
  533.      C:\NETW\LOGIN
  534.  
  535.      This leaves our final AUTOEXEC.BAT with:
  536.  
  537.           PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  538.           PROMPT $P$G
  539.           C:\NETW\LOGIN
  540.  
  541.      (Your AUTOEXEC.BAT may only need the PATH and PROMPT lines.  Don't worry 
  542. that your AUTOEXEC.BAT isn't 3 or more lines long)
  543.      Save the AUTOEXEC.BAT file.
  544.      Now reboot your machine and try to re-create the Exception #13 problem.
  545.  
  546. ??? If the problem still exists, go to STEP 9.
  547.  
  548. ??? If the problem goes away, go to STEP C.
  549.  
  550.                                   (STEP 9)
  551.  
  552.                          MODIFY THE QEMM386.SYS LINE
  553.                          ---------------------------
  554.      By modifying the CONFIG.SYS and AUTOEXEC.BAT files in STEP 8, we have 
  555. shown that the problem is caused by either QEMM-386, your program, or a driver 
  556. needed to run your program.  Now we will modify your QEMM386.SYS line in the 
  557. CONFIG.SYS file by adding parameters (and possibly removing some of the 
  558. parameters that are already on the line) to avoid POSSIBLE conflicts involving 
  559. QEMM-386.
  560.  
  561.      Modify the QEMM386.SYS line of your CONFIG.SYS file to look EXACTLY as 
  562. follows:
  563.  
  564. DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4
  565.  
  566. Be sure that you DO NOT add the 'RAM' parameter to this line!
  567.  
  568. ??? If you have a version of QEMM greater than 6.00 and are using the
  569.     Stealth parameter (ST:M or ST:F), please DO NOT include the Stealth
  570.     parameter at this time.  BUT make a mental note of it, as you will add
  571.     this parameter back to the QEMM386.SYS line in STEP 15.  ALSO, you will
  572.     want to remove any Stealth-related parameters at this time (you may not
  573.     have any of these): XST= , XSTI=, DBF=, FSTC, FRAME=.
  574.  
  575.      If your QEMM386.SYS line previously contained a parameter to EXCLUDE an 
  576. area of memory such as EXCLUDE= or X= or AROM= or ARAM=, then you should also 
  577. add this parameter to the end of the QEMM386.SYS line.  DO NOT add any 
  578. INCLUDE= or I= parameters, even if you previously had any!  In our example, we 
  579. previously had the AROM=C800-CBFF parameter.  Adding this parameter to the 
  580. above DEVICE line will look like:
  581.  
  582. DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4
  583. AROM=C800-CBFF
  584.       ^
  585.      (Please note that the "AROM=" parameter is NOT on the next line,
  586.      but is on the same line immediately after "DB=4".  Many editors
  587.      will allow wrap-around of the same line)
  588.  
  589.      Save the CONFIG.SYS file.
  590.      Now reboot your machine and try to re-create the Exception #13 problem.
  591.  
  592. ??? If the problem still exists, go to STEP 10.
  593.  
  594. ??? If the problem goes away, go to STEP 13.
  595.  
  596.                                   (STEP 10)
  597.  
  598.            TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
  599.            -------------------------------------------------------
  600.      By adding/stripping parameters from the QEMM386.SYS line of your 
  601. CONFIG.SYS file, we have eliminated many of the possible conflicts which QEMM-
  602. 386 may have with your system.
  603.      To determine whether QEMM-386 is solely responsible for your problems, we 
  604. will need to run your software without QEMM-386 loaded.  If your program uses 
  605. expanded memory, then another memory manager (such as DOS 5 or Windows EMM386
  606. driver) MUST be loaded in place of QEMM-386 in order to test whether your
  607. program doesn't work with QEMM-386 vs. any other expanded memory manager.
  608.  
  609. ??? Does your program need expanded memory in order to operate properly? If
  610.     so, please go to STEP 11 (otherwise proceed with this STEP).
  611.     
  612.      We will need to re-boot your computer without QEMM-386 loaded.  To 
  613. accomplish this, we DO NOT have to remove the QEMM386.SYS line from the 
  614. CONFIG.SYS file!
  615.  
  616.      Please re-boot your machine.  During the re-boot, your computer will 
  617. BEEP.  When you hear the BEEP, immediately hold down on the ALT key (and keep 
  618. it pressed down) until you see the following message on screen:
  619.  
  620.      QEMM386: Press <ESC> to unload QEMM or any other key
  621.      to continue with QEMM...
  622.  
  623.      If you do not see this message, please retry again by rebooting your 
  624. machine!
  625.  
  626.     Press the ESCAPE (ESC) key to bypass QEMM and try to re-create the
  627. Exception #13 problem.
  628.  
  629. ??? If the problem still exists, go to STEP B.
  630.  
  631. ??? If the problem goes away, go to STEP A.
  632.  
  633.                                   (STEP 11)
  634.  
  635.            USE ANOTHER EXPANDED MEMORY MANAGER INSTEAD OF QEMM-386
  636.            -------------------------------------------------------
  637.      The problem that you're having may be caused by QEMM or any other 
  638. expanded memory manager that is loaded.  If your program or device driver uses 
  639. expanded memory, then we must test whether the problem is due solely to QEMM 
  640. by testing another expanded memory manager.  If your system has problems with 
  641. another expanded memory manager loaded, then your program has a problem with 
  642. any expanded memory manager and QEMM is not to blame for the crashes you have 
  643. been experiencing.  If this is the case, you should contact the developers of 
  644. that program for information on options or special setup considerations for 
  645. use with expanded memory managers.
  646.      You are probably running with DOS 4 or DOS 5 which comes with an expanded 
  647. memory manager.  DOS 4 comes with HIMEM.SYS and EMM386.SYS and DOS 5 comes 
  648. with HIMEM.SYS and EMM386.EXE (probably on your hard disk right now!).  We 
  649. will now modify your CONFIG.SYS to use these drivers instead of QEMM and try 
  650. to re-create the problem.  First, make a back-up copy of the "clean 
  651. environment" version of CONFIG.SYS file by entering the following 3 commands 
  652. at the DOS prompt:
  653.  
  654.      1) C:
  655.      2) CD\
  656.      3) COPY CONFIG.SYS CONFIG.Q
  657.  
  658.      We will attempt to re-create the problem by using the other drivers,
  659. HIMEM.SYS and EMM386.SYS (EMM386.EXE if you are using DOS 5.0), which when 
  660. loaded together are similar to the Extended and Expanded memory features of 
  661. QEMM.
  662.  
  663.      First, you must find where these files are located on your hard-disk 
  664. (They are most likely found in the C:\DOS, C:\, directories).  Now, edit the 
  665. CONFIG.SYS and replace these two drivers for the QEMM386.SYS driver (ASSUME 
  666. that HIMEM.SYS is in the root directory and EMM386.SYS is in the DOS 
  667. directory):
  668.  
  669.      DEVICE=C:\HIMEM.SYS
  670.      DEVICE=C:\DOS\EMM386.SYS ON 4096     (use EMM386.EXE if you have DOS 5)
  671.      FILES=40
  672.      DEVICE=C:\SCAN\SCANNER.SYS 256
  673.      SHELL=C:\COMMAND.COM /P /E:768
  674.      DEVICE=C:\NETW\NETWORK.SYS
  675.  
  676.      Save the CONFIG.SYS, reboot, and try to re-create Exception #13 problem.
  677.  
  678. ??? If the problem still exists, then go to STEP B.
  679.  
  680. ??? If the problem goes away, go to STEP 12.
  681.  
  682.                                   (STEP 12)
  683.                                   ---------
  684.  
  685.             CONFIGURE QEMM-386 SIMILARLY TO THE OTHER DRIVERS
  686.             -----------------------------------------------------
  687.      We want to find out what the other drivers are doing to make your
  688. program work properly so that we can configure QEMM-386 to emulate the 
  689. other drivers.  We must use the MANIFEST program to view what the
  690. other drivers are doing.
  691.  
  692.      1) Reboot your computer to get to the DOS prompt
  693.      2) C:\QEMM\MFT.EXE    [type this at the DOS prompt to start MANIFEST]
  694.  
  695.      Hit the DOWN-ARROW key once (this will give you the First Meg/Overview 
  696. screen).  The box in the center of the screen will look as follows:
  697.      You will see a screen similar to this:
  698.  
  699.      Memory Area   Size   Description
  700.      0000 - 003F     1K   Interrupt Area
  701.      0040 - 004F   0.3K   BIOS Data Area
  702.      0050 - 006F   0.5K   System Data
  703.      0070 - 0FB0    61K   DOS
  704.      0FB1 - 21F8    73K   Program Area
  705.      21F9 - 9FFF   504K   [Available]
  706.      Conventional memory ends at 640K
  707.      A000 - AFFF    64K   VGA Graphics
  708.      B000 - B7FF    32K   Unused
  709.      B800 - BFFF    32K   VGA Text
  710.      C000 - C7FF    32K   Video ROM
  711.      C800 - CFFF    32K   Unused
  712.      D000 - DFFF    64K   Page Frame       <----------------------------|
  713.      E000 - EFFF    64K   Unused                                        |
  714.      F000 - FFFF    64K   System ROM                                    |
  715.                                                                         |
  716.                                                                         |
  717.      Look for the Page Frame, we must use the QEMM parameter FRAME=  ---|
  718. to emulate where the Page Frame is located when using the other
  719. drivers.  (Notice that the Page Frame above starts at D000.)
  720.      Hit the ESCAPE key twice to exit MANIFEST and perform the following four 
  721. commands at the DOS prompt:
  722.  
  723.      1) C:
  724.      2) CD\
  725.      3) RENAME CONFIG.SYS CONFIG.M
  726.      [Save the CONFIG.SYS w/other drivers]
  727.      4) COPY CONFIG.Q CONFIG.SYS    
  728.      [Bring back the STEP-7 CONFIG.SYS       ]
  729.      Add the following parameters to the end of the QEMM386.SYS line of your 
  730. CONFIG.SYS file:
  731.  
  732.      NV NVR NTR LD NX NR NRH NOVDS FRAME=XXXX
  733.                                          ^^^^
  734.                                         (XXXX is the starting memory area of 
  735. the Page Frame when using the other drivers on your machine.  In this
  736. EXAMPLE, FRAME=D000)
  737.      The QEMM386.SYS line for this EXAMPLE now looks like:
  738.      
  739. DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH
  740. AROM=C800-CBFF NV NVR NTR LD NX NR NRH NOVDS FRAME=D000
  741.  
  742.      Reboot and try to re-create the Exception #13 problem.
  743.  
  744. ??? If the problem still exists , then go to STEP A.
  745.  
  746. ??? If the problem goes away, then go to STEP 13.
  747.  
  748.                                   (STEP 13)
  749.  
  750.                        CREATING HIGH RAM FOR QEMM-386
  751.                        ------------------------------
  752.      We have properly configured QEMM-386 without High RAM to work with your 
  753. program.  We must add the RAM parameter to end of the QEMM386.SYS line in your 
  754. CONFIG.SYS to create High RAM.  Edit your CONFIG.SYS file and add RAM to the 
  755. end of the QEMM386.SYS line (DEVICE=C:\QEMM\QEMM386.SYS ... RAM).
  756.      Reboot your machine and try to re-create the Exception #13 problem.
  757.  
  758. ??? If the problem re-occurs, then go to STEP 14.
  759.  
  760. ??? If the problem does not occur, then proceed below:
  761.  
  762.      In STEP 9, we added the following parameters to the QEMM386.SYS line: 
  763. X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4.  We will attempt to recover 
  764. some/all of the HIGH Ram which we eXcluded. Edit the 
  765. DEVICE=C:\QEMM\QEMM386.SYS... line of the CONFIG.SYS file and delete (ONE 
  766. parameter AT A TIME) the following 3 parameters: X=A000-C7FF, X=F000-FFFF, 
  767. NCF. If removing the X=A000-C7FF parameter does not cause the problem to re-
  768. occur, then you DON'T need this parameter.  However if the problem does recur, 
  769. then the parameter needs to be kept.  Try this for the other 2 parameters!
  770.  
  771. ??? If the problem still doesn't occur and you WERE using the Stealth feature 
  772.     (ST:M or ST:F) from QEMM version 6.00 or greater, then go to STEP 15.
  773.  
  774. ??? If the problem still doesn't occur and you WERE NOT using the Stealth 
  775.     feature (ST:M or ST:F) from QEMM version 6.00 or greater, then go to STEP 
  776.     C.
  777.  
  778.                                   (STEP 14)
  779.  
  780.                        ELIMINATING HIGH RAM CONFLICTS
  781.                        ------------------------------
  782.      It appears that there is a conflict between one of your adapters and QEMM-
  783. 386.  QEMM-386 is not recognizing that your adapter is there and QEMM is 
  784. mapping memory on top of the adapter memory.  We must exclude all High RAM 
  785. areas to test this hypothesis and if indeed this is the case, we will 
  786. systematically narrow down what area really needs to be excluded!
  787.  
  788.      1) C:\QEMM\MFT        [type this at the DOS prompt to start MANIFEST]
  789.  
  790.      Hit the DOWN-ARROW key once (this will give you the First Meg/Overview 
  791. screen).  The box in the center of the screen will look as follows:
  792.  
  793.      You will see a screen similar to this:
  794.  
  795.      Memory Area   Size   Description
  796.      0000 - 003F     1K   Interrupt Area
  797.      0040 - 004F   0.3K   BIOS Data Area
  798.      0050 - 006F   0.5K   System Data
  799.      0070 - 0FB0    61K   DOS
  800.      0FB1 - 21F8    73K   Program Area
  801.      21F9 - 9FFF   504K   [Available]
  802.      Conventional memory ends at 640K
  803.      A000 - AFFF    64K   VGA Graphics
  804.      B000 - B7FF    32K   Unused
  805.      B800 - BFFF    32K   VGA Text
  806.      C000 - C7FF    32K   Video ROM
  807.      C800 - CFFF    32K   High RAM       <------------|
  808.      D000 - DFFF    64K   Page Frame                  |
  809.      E000 - EFFF    64K   High RAM       <------------|
  810.      F000 - FFFF    64K   System ROM                  |
  811.                                                       |
  812.      We want to eXclude all High RAM areas!    -------|
  813.  
  814.      We do this by using the EXCLUDE= (X=  for short) parameter to QEMM-386. 
  815. For this example, we have two High RAM areas to exclude:  from C800-CFFF and 
  816. E000-EFFF.  The corresponding parameters to ADD to end of the QEMM386.SYS line 
  817. in the CONFIG.SYS file would be:
  818.  
  819.      X=C800-CFFF  X=E000-EFFF
  820.  
  821.      Add as many X= parameters as needed to your CONFIG.SYS to exclude as many 
  822. High RAM areas that your machine has.
  823.      Reboot your machine and try to re-create the Exception #13 problem.
  824.  
  825. ??? If the problem occurs, then go to STEP A.
  826.  
  827. ??? If the problem goes away, then we know there was a memory conflict and we
  828.     should now try to narrow down which address range in High RAM has been 
  829.     causing the conflict.  This will allow you to get back as much High RAM as 
  830.     possible! Often when there is a conflict in memory, there is a 16K area 
  831.     that needs to be excluded and we should now narrow down the eXclusion of 
  832.     High RAM areas in question.  EXAMPLE:  We have excluded C800-CFFF which is 
  833.     a 32K area and E000-EFFF which is a 64K area.  These numbers are in 
  834.     hexadecimal (base 16) and may confuse you!  (You can access a technnote on 
  835.     hexadecimal numbers by calling our Q/FAX line, (310)-314-3214 to download 
  836.     technote number 190 to your own fax machine.)  These 2 areas use 6 
  837.     different 16K areas:  C800-CBFF, CC00-CFFF, E000-E3FF, E400-E7FF, E800-
  838.     EBFF, EC00-EFFF.  To narrow down the area, we would use the X= parameter, 
  839.     trying all six combinations, one at a time!  More than likely, five out of 
  840.     the six combinations will cause the problem to occur, but one out of the 
  841.     six will resolve the problem.
  842.  
  843. ??? When you have determined which area needed to be excluded, and you
  844.     WERE using the Stealth feature (ST:M or ST:F) from QEMM version 6.00
  845.     or greater, then go to STEP 15.
  846.  
  847. ??? When you have determined which area needed to be excluded, and you
  848.     WERE NOT using the Stealth feature (ST:M or ST:F) from QEMM version
  849.     6.00 or greater, then go to STEP C.
  850.  
  851.                                   (STEP 15)
  852.  
  853.                       ADDING THE STEALTH PARAMETER BACK
  854.                       ---------------------------------
  855.      We have properly configured QEMM-386 with High RAM to work with your 
  856. program. We must now add the Stealth (and any Stealth-related) parameter to 
  857. the end of the QEMM386.SYS line in your CONFIG.SYS to enable Stealth.  Edit 
  858. your CONFIG.SYS file and add ST:M or ST:F (and any Stealth-related parameter 
  859. that was ORIGINALLY on your QEMM386.SYS line) to the end of the QEMM386.SYS 
  860. line:
  861.  
  862. DEVICE=C:\QEMM\QEMM386.SYS ... RAM ST:x  [possibly other Stealth parameters].
  863.  
  864. Reboot your machine and try to re-create the crash.
  865.  
  866. ??? If the problem still doesn't occur, then go to STEP C.
  867.  
  868. ??? If the problem does re-occur, then your Exception #13 problem is due to
  869.     a conflict with QEMM's Stealth feature.  NOW, the next step FOR YOU is
  870.     to leave this technote (for now) and get the technote STEALTH.TEC to
  871.     resolve the Stealth conflict.
  872.  
  873.      The STEALTH.TEC technote is available:
  874.  
  875.      1) On Compuserve [GO QUARTERDECK, Library 2].  Download STEALT.ZIP.
  876.      2) On the Quarterdeck BBS [310-314-3227].  Download STEALTH.TEC.
  877.      3) On the Quarterdeck Q/FAX [310-314-3214].  Download FAX# 205 (Q/FAX
  878.         will automatically fax this back to your fax machine instantly!).
  879.      4) Call Quarterdeck Technical Support [310-392-2701] and we will
  880.         gladly fax/mail it to you.
  881.  
  882. Once you have resolved the Stealth-related problem with the current 
  883. CONFIG.SYS, then go to STEP C. 
  884. ------------------------------------------------------------------------
  885.  
  886.                                  (STEP - A)
  887.                                  ----------
  888.      The problem you are having requires further troubleshooting techniques 
  889. and investigation.  Call our Technical Support line at (310) 392-9701 for 
  890. further assistance, we'll be happy to help out!
  891.      When you call, please have available the following files available:
  892.  
  893.      Your original CONFIG.SYS and AUTOEXEC.BAT files
  894.      CONFIG.SYS   (QEMM386.SYS and FILES=)
  895.      AUTOEXEC.BAT (PATH and PROMPT)
  896.      CONFIG.Q     (only if you have gone thru STEP 11)
  897.      CONFIG.M     (only if you have gone thru STEP 12)
  898.  
  899.      Be sure to mention that you have been using EX13FLOW.TEC.
  900.  
  901.                                  (STEP - B)
  902.                                  ----------
  903.  
  904.      We have shown that the program in question has problems EVEN WHEN QEMM-
  905. 386 IS NOT LOADED ON YOUR MACHINE.  QEMM is not responsible for the system 
  906. crashes you are experiencing.  The next step is for you to consult the 
  907. documentation or contact the makers of the resident program or driver which is 
  908. making your system crash.
  909.  
  910.                                  (STEP - C)
  911.                                  ----------
  912.      CONGRATULATIONS, you have successfully configured QEMM-386 and your 
  913. program to work together!  Enter the following 6 commands at the DOS prompt:
  914.  
  915.      1) C:
  916.      2) CD\
  917.      3) RENAME AUTOEXEC.BAT AUTOEXEC.Q
  918.      4) COPY CONFIG.SYS CONFIG.Q
  919.      5) COPY CONFIG.OLD CONFIG.SYS         [Bring back your original file]
  920.      6) COPY AUTOEXEC.OLD AUTOEXEC.BAT     [Bring back your original file]
  921.  
  922.      Edit the CONFIG.SYS file and replace the original QEMM386.SYS line with 
  923. the one you have created by using this technote (now in CONFIG.Q) and make 
  924. sure FILES= at least 40!
  925.      Reboot the machine and try to re-create the Exception #13 crash.
  926.  
  927. ??? If the problem is still no longer occurring, the problem is solved.
  928.     HAVE A GREAT DAY!!!
  929.  
  930. ??? If the problem now occurs, then go to STEP D.
  931.  
  932.                                  (STEP - D)
  933.                                  ----------
  934.      Since the problem does not occur with the stripped down CONFIG.SYS and 
  935. AUTOEXEC.BAT but does occur with a full CONFIG.SYS and AUTOEXEC.BAT file, 
  936. there is a command line in one of these files that has been causing the 
  937. Exception #13 problem.  To determine which file the command line is in, we 
  938. will bring back the AUTOEXEC.BAT (Path and Prompt) that we previously created 
  939. in STEP 8:
  940.  
  941.      Enter the following 4 commands at the DOS prompt:
  942.  
  943.           1) C:
  944.           2) CD\
  945.           3) COPY AUTOEXEC.BAT AUTOEXEC.OLD
  946.           4) COPY AUTOEXEC.Q AUTOEXEC.BAT
  947.  
  948.      Reboot your machine and try to re-create the Exception #13 crash.
  949.  
  950. ??? If the problem still exists, than we know that the command line
  951.     which is giving us problems is located in the CONFIG.SYS file and if
  952.     the problem goes away, the command line is in the original AUTOEXEC.BAT
  953.     file.
  954.  
  955.      Now you must systematically determine which command line is giving you 
  956. trouble!  Try deleting one line at a time (if you have a long CONFIG.SYS or 
  957. AUTOEXEC.BAT file try deleting 2-3 lines at a time) until you find out which 
  958. line is causing the problem.
  959.      When you finally determine which line is causing the problem:
  960.  
  961.      1) If the device driver or TSR is loaded into High RAM, use the procedure 
  962.         in STEP 8 to load it low and see if this corrects the problem.
  963.      2) Read the manual or call the technical support of the product which you 
  964.         are loading to determine where the problem might lie.
  965.      3) If a TSR or device driver has a parameter that tells it to load/use 
  966.         XMS or EMS, then have it load/use conventional memory instead.
  967.      4) Refer to your DOS manual to determine DOS command problems. 
  968.      5) JUST GET RID OF THAT LINE! 
  969.  
  970.   ************************************************************************
  971.   *          Trademarks are property of their respective owners.         *
  972.   *This technical note may be copied and distributed freely as long as it*
  973.   *is distributed in its entirety and it is not distributed for profit.  *
  974.   *          Copyright (C) 1992 by Quarterdeck Office Systems            *
  975.   ************************ E N D   O F   F I L E *************************
  976.